home *** CD-ROM | disk | FTP | other *** search
/ MacWorld 1998 January / Macworld (1998-01).dmg / Serious Demos / Visual MacStandardBasic Demo / Samples / Calculator Demo / Form1 < prev   
Text File  |  1997-10-20  |  8KB  |  523 lines

  1. MacStandardBasic Form Version 3.0
  2.  
  3.     FormBegin
  4.       Name=Form1
  5.       Title=Calculator Demo
  6.       Left=100
  7.       Top=50
  8.       Width=234
  9.       Height=263
  10.       Sub Proc.=Form1_Event
  11.       Visible=1
  12.       Style=10
  13.       Font=Geneva
  14.       FontSize=12
  15.       FontStyle=0
  16.       Show Grid=0
  17.       Grid Snap=1
  18.       Grid Size=8
  19.       Min. Width=100
  20.       Max. Width=2000
  21.       Min. Height=100
  22.       Max. Height=2000
  23.       AutoCenter=0
  24.       ForeColor=0 0 0
  25.       BackColor=22413 22415 49806
  26.     FormEnd
  27.  
  28.     ControlBegin=TextBox
  29.       Name=TextBox1
  30.       Text=
  31.       Left (x)=16
  32.       Top (y)=24
  33.       Width=192
  34.       Height=32
  35.       Sub Proc.=TextBox1_Event
  36.       Visible=1
  37.       Value=1
  38.       Enabled=0
  39.       Font=Chicago
  40.       FontSize=20
  41.       FontStyle=1
  42.       ScrollBar=0
  43.       Read Only=1
  44.       Opt20=1
  45.       Frame=1
  46.       ForeColor=0 0 0
  47.       BackColor=65535 65535 65535
  48.     ControlEnd
  49.  
  50.     ControlBegin=Button
  51.       Name=Button1
  52.       Text=7
  53.       Left (x)=16
  54.       Top (y)=72
  55.       Width=32
  56.       Height=32
  57.       Sub Proc.=Button1_Click
  58.       Visible=1
  59.       Value=0
  60.       Enabled=1
  61.       Opt20=1
  62.     ControlEnd
  63.  
  64.     ControlBegin=Button
  65.       Name=Button2
  66.       Text=8
  67.       Left (x)=56
  68.       Top (y)=72
  69.       Width=32
  70.       Height=32
  71.       Sub Proc.=Button2_Click
  72.       Visible=1
  73.       Value=0
  74.       Enabled=1
  75.       Opt20=2
  76.     ControlEnd
  77.  
  78.     ControlBegin=Button
  79.       Name=Button3
  80.       Text=9
  81.       Left (x)=96
  82.       Top (y)=72
  83.       Width=32
  84.       Height=32
  85.       Sub Proc.=Button3_Click
  86.       Visible=1
  87.       Value=0
  88.       Enabled=1
  89.       Opt20=3
  90.     ControlEnd
  91.  
  92.     ControlBegin=Button
  93.       Name=Button4
  94.       Text=*
  95.       Left (x)=136
  96.       Top (y)=72
  97.       Width=32
  98.       Height=32
  99.       Sub Proc.=Button4_Click
  100.       Visible=1
  101.       Value=0
  102.       Enabled=1
  103.       Opt20=4
  104.     ControlEnd
  105.  
  106.     ControlBegin=Button
  107.       Name=Button5
  108.       Text=4
  109.       Left (x)=16
  110.       Top (y)=112
  111.       Width=33
  112.       Height=33
  113.       Sub Proc.=Button5_Click
  114.       Visible=1
  115.       Value=0
  116.       Enabled=1
  117.       Opt20=5
  118.     ControlEnd
  119.  
  120.     ControlBegin=Button
  121.       Name=Button6
  122.       Text=5
  123.       Left (x)=56
  124.       Top (y)=112
  125.       Width=33
  126.       Height=33
  127.       Sub Proc.=Button6_Click
  128.       Visible=1
  129.       Value=0
  130.       Enabled=1
  131.       Opt20=6
  132.     ControlEnd
  133.  
  134.     ControlBegin=Button
  135.       Name=Button7
  136.       Text=6
  137.       Left (x)=96
  138.       Top (y)=112
  139.       Width=33
  140.       Height=33
  141.       Sub Proc.=Button7_Click
  142.       Visible=1
  143.       Value=0
  144.       Enabled=1
  145.       Opt20=7
  146.     ControlEnd
  147.  
  148.     ControlBegin=Button
  149.       Name=Button8
  150.       Text=-
  151.       Left (x)=136
  152.       Top (y)=112
  153.       Width=33
  154.       Height=33
  155.       Sub Proc.=Button8_Click
  156.       Visible=1
  157.       Value=0
  158.       Enabled=1
  159.       Opt20=8
  160.     ControlEnd
  161.  
  162.     ControlBegin=Button
  163.       Name=Button9
  164.       Text=/
  165.       Left (x)=176
  166.       Top (y)=72
  167.       Width=32
  168.       Height=32
  169.       Sub Proc.=Button9_Click
  170.       Visible=1
  171.       Value=0
  172.       Enabled=1
  173.       Opt20=9
  174.     ControlEnd
  175.  
  176.     ControlBegin=Button
  177.       Name=Button10
  178.       Text=1
  179.       Left (x)=16
  180.       Top (y)=152
  181.       Width=33
  182.       Height=33
  183.       Sub Proc.=Button10_Click
  184.       Visible=1
  185.       Value=0
  186.       Enabled=1
  187.       Opt20=10
  188.     ControlEnd
  189.  
  190.     ControlBegin=Button
  191.       Name=Button11
  192.       Text=2
  193.       Left (x)=56
  194.       Top (y)=152
  195.       Width=33
  196.       Height=33
  197.       Sub Proc.=Button11_Click
  198.       Visible=1
  199.       Value=0
  200.       Enabled=1
  201.       Opt20=11
  202.     ControlEnd
  203.  
  204.     ControlBegin=Button
  205.       Name=Button12
  206.       Text=3
  207.       Left (x)=96
  208.       Top (y)=152
  209.       Width=33
  210.       Height=33
  211.       Sub Proc.=Button12_Click
  212.       Visible=1
  213.       Value=0
  214.       Enabled=1
  215.       Opt20=12
  216.     ControlEnd
  217.  
  218.     ControlBegin=Button
  219.       Name=Button13
  220.       Text=+
  221.       Left (x)=136
  222.       Top (y)=152
  223.       Width=32
  224.       Height=32
  225.       Sub Proc.=Button13_Click
  226.       Visible=1
  227.       Value=0
  228.       Enabled=1
  229.       Opt20=13
  230.     ControlEnd
  231.  
  232.     ControlBegin=Button
  233.       Name=Button14
  234.       Text=C
  235.       Left (x)=176
  236.       Top (y)=152
  237.       Width=33
  238.       Height=33
  239.       Sub Proc.=Button14_Click
  240.       Visible=1
  241.       Value=0
  242.       Enabled=1
  243.       Opt20=14
  244.     ControlEnd
  245.  
  246.     ControlBegin=Button
  247.       Name=Button15
  248.       Text=0
  249.       Left (x)=56
  250.       Top (y)=192
  251.       Width=33
  252.       Height=33
  253.       Sub Proc.=Button15_Click
  254.       Visible=1
  255.       Value=0
  256.       Enabled=1
  257.       Opt20=15
  258.     ControlEnd
  259.  
  260.     ControlBegin=Button
  261.       Name=Button16
  262.       Text=.
  263.       Left (x)=96
  264.       Top (y)=192
  265.       Width=33
  266.       Height=33
  267.       Sub Proc.=Button16_Click
  268.       Visible=1
  269.       Value=0
  270.       Enabled=1
  271.       Opt20=16
  272.     ControlEnd
  273.  
  274.     ControlBegin=Button
  275.       Name=Button17
  276.       Text=CE
  277.       Left (x)=176
  278.       Top (y)=112
  279.       Width=33
  280.       Height=33
  281.       Sub Proc.=Button17_Click
  282.       Visible=1
  283.       Value=0
  284.       Enabled=1
  285.       Opt20=17
  286.     ControlEnd
  287.  
  288.     ControlBegin=Button
  289.       Name=Button18
  290.       Text==
  291.       Left (x)=136
  292.       Top (y)=192
  293.       Width=33
  294.       Height=33
  295.       Sub Proc.=Button18_Click
  296.       Visible=1
  297.       Value=0
  298.       Enabled=1
  299.       Opt20=18
  300.     ControlEnd
  301.  
  302. Global
  303.     Dim Total#, LastOp, Flag1
  304.  
  305.  
  306.  
  307.  
  308.  
  309. EndGlobal
  310.  
  311. Start
  312.     Dim A
  313.  
  314.     CreateTheMenus
  315.     Form Form1
  316.  
  317.     A=0
  318.     Do While A=0
  319.     Loop
  320. Finish
  321.  
  322. Sub CreateTheMenus( )
  323.     MenuApple
  324.     MenuAddItem 1, "About Calculator Demo", "", AboutTheApp
  325.     MenuDesk
  326.     MenuAdd 2, "File", None
  327.     MenuAddItem 2, "Quit", "Q", QuitTheApp
  328.  
  329. EndSub
  330.  
  331. Sub QuitTheApp( )
  332.     End
  333. EndSub
  334.  
  335. Sub AboutTheApp( )
  336.     Dim a
  337.     a = MsgBox ("Calculator Demo", 0)
  338. EndSub
  339.  
  340. Sub Button14_Click( )
  341.     CtlText TextBox1, "",0
  342.     Total = 0
  343.     
  344. EndSub
  345.  
  346. Sub TextBox1_Event( )
  347.     
  348.  
  349.  
  350. EndSub
  351.  
  352. Sub Button1_Click( )
  353.     CtlText TextBox1, "7",Flag1
  354.     Flag1 = 1
  355.  
  356.  
  357. EndSub
  358.  
  359. Sub Button2_Click( )
  360.     CtlText TextBox1, "8",Flag1
  361.     Flag1 = 1
  362.  
  363. EndSub
  364.  
  365. Sub Button3_Click( )
  366.     CtlText TextBox1, "9",Flag1
  367.     Flag1 = 1
  368.  
  369. EndSub
  370.  
  371. Sub Button5_Click( )
  372.     CtlText TextBox1, "4",Flag1
  373.     Flag1 = 1
  374.  
  375.  
  376. EndSub
  377.  
  378. Sub Button6_Click( )
  379.     CtlText TextBox1, "5",Flag1
  380.     Flag1 = 1
  381.  
  382.  
  383. EndSub
  384.  
  385. Sub Button7_Click( )
  386.     CtlText TextBox1, "6",Flag1
  387.     Flag1 = 3
  388. EndSub
  389.  
  390. Sub Button10_Click( )
  391.     CtlText TextBox1, "1",Flag1
  392.     Flag1 = 1
  393.     
  394.     
  395. EndSub
  396.  
  397. Sub Button11_Click( )
  398.     CtlText TextBox1, "2",Flag1
  399.     Flag1 = 1
  400.      
  401. EndSub
  402.  
  403. Sub Button12_Click( )
  404.     CtlText TextBox1, "3",Flag1
  405.     Flag1 = 1
  406.      
  407. EndSub
  408.  
  409. Sub Button15_Click( )
  410.     CtlText TextBox1, "0",Flag1
  411.     Flag1 = 1
  412. EndSub
  413.  
  414. Sub Button16_Click( )
  415.     CtlText TextBox1, ".",Flag1
  416.     Flag1 = 1
  417. EndSub
  418.  
  419. Sub Form1_Event( )
  420.     Dim Num$
  421.     If EventCode(0) = 21 Then End
  422.     
  423.     ' Let's check for keypress
  424.     If EventCode(0) = 26 Then
  425.         Num$ = Ucase( Chr( EventCode(2) ))
  426.         If Num$ >="0" and Num$ <="9" Then
  427.             CtlText TextBox1, Num$ ,Flag1
  428.             Flag1 = 1
  429.         Else
  430.             Select Num$
  431.                 Case "."
  432.                     CtlText TextBox1, Num$ ,Flag1
  433.                     Flag1 = 1
  434.                 Case "="
  435.                     DoCalc
  436.                     LastOp = 0
  437.                 Case "+"
  438.                     DoCalc
  439.                     LastOp = 1
  440.                 Case "-"
  441.                     DoCalc
  442.                     LastOp = 2
  443.                 Case "*"
  444.                     DoCalc
  445.                     LastOp = 3
  446.                 Case "/"
  447.                     DoCalc
  448.                     LastOp = 4
  449.                 case "C"
  450.                     CtlText TextBox1, "",0
  451.                     Total = 0
  452.             EndCase
  453.         Endif
  454.     
  455.     EndIf
  456.  
  457. EndSub
  458.  
  459. Sub Button13_Click( )
  460.     DoCalc
  461.     LastOp = 1
  462.  
  463. EndSub
  464.  
  465. Sub Button4_Click( )
  466.     DoCalc
  467.     LastOp = 3
  468.  
  469.  
  470. EndSub
  471.  
  472. Sub Button8_Click( )
  473.     DoCalc
  474.     LastOp = 2
  475.  
  476.  
  477.  
  478. EndSub
  479.  
  480. Sub Button9_Click( )
  481.     DoCalc
  482.     LastOp = 4
  483.  
  484.  
  485. EndSub
  486.  
  487. Sub DoCalc( )
  488.     Dim a#
  489.     If Flag1 = 0 Then ExitSub
  490.     Flag1 = 0    
  491.     A = Val(CtlText( TextBox1 ))
  492.     Select LastOp
  493.         Case 0
  494.             Total = A
  495.         Case 1
  496.             Total =Total + A
  497.         Case 2
  498.             Total =Total - A
  499.         Case 3
  500.             Total =Total * A
  501.         Case 4
  502.             Total =Total / A
  503.     EndCase
  504.     CtlText TextBox1, Str( Total ), 0
  505.     
  506.     
  507. EndSub
  508.  
  509. Sub Button17_Click( )
  510.     CtlText TextBox1, "", 0
  511.  
  512.  
  513. EndSub
  514.  
  515. Sub Button18_Click( )
  516.     DoCalc
  517.     LastOp = 0
  518.  
  519.  
  520.  
  521. EndSub
  522.  
  523.